System, method and computer program product for collecting information about a network user

ABSTRACT

A system, method and computer program product are disclosed for collecting information about a user. A set of one or more rules for collecting information is obtained by a first application on a client. The first application is utilized to monitor a second application on the client in communication with the network for information that satisfies one or more rules of the set of rules. The second application is utilized by a user to access sites coupled to the network. Information that that satisfies one or more rules of the set of rules is collected from the second application utilizing the first application. At least a portion of the collected information is stored on the client utilizing the first application. Content is received via the network for presentment by the first application based on the portion of the collected information stored on the client.

CROSS REFERENCE TO RELATED APPLICATIONS

[0001] This application claims benefit of U.S. Provisional ApplicationNo. 60/301,888, entitled “SYSTEM AND METHOD FOR USING CONTINUOUSMESSAGING UNITS IN A NETWORK ARCHITECTURE,” filed on Jun. 29, 2001 andwhich is incorporated by reference herein. This application also claimsbenefit of U.S. Provisional Application No. 60/______, filed Oct. 18,2001 by United States Postal Service Express Mail Ser. No.EL701362699US, entitled, “SYSTEM METHOD AND COMPUTER PROGRAM PRODUCT FORCOLLECTING INFORMATION ABOUT A NETWORK USER” (Attorney Reference No.50642.00028) and which is incorporated by reference herein.

FIELD OF THE INVENTION

[0002] This invention relates to computer technology, and moreparticularly, relates to presenting information in a computer networkenvironment.

BACKGROUND OF THE INVENTION

[0003] The Internet is a wide area network of interconnected computerswhich employs a client-server model. The Internet includes servercomputers which may be accessed by client computers. Typically, a serverhosts a site on the Internet which includes a collection of files orpages. The network address of a server is typically specified by aUniform Resource Language (URL). A user may access the servers from aclient via the Internet through an Internet service provider (ISP). Byutilizing a browser application on the client, the user can connect toor “link” to a particular server based upon the URL address of thatserver.

[0004] The Internet computer network was originally designed as acommunications link to facilitate the exchange of scientific informationbetween governmental laboratories and educational institutions. However,in recent years, the increased use of the World Wide Web (WWW) hasfueled explosive growth of the Internet that has extended beyond thescientific community and, indeed, into homes, businesses and classrooms.The WWW refers to a collection of Internet servers that typicallyutilize Hypertext Transfer Protocol (HTTP) as an applications protocolto provide users with access to files for communicating text, graphics,sound, video, etc. HTTP, in turn, may use a page description languagecalled Hypertext Markup Language (HTML) to specify the format of webpages that are displayed to the users. HTML pages can include hypertextlinks to other servers and files, with the URL's of the target serversstored or embedded within the links.

[0005] Links present in a web page may appear to a user in a variety offorms. For example, a link may appear as underlined text, as boldedtext, as text having a different color as surrounding text, or as texthaving some other form designed to draw the attention of the user suchthat the link is easily identified as such. When a user selects a link(e.g., by “clicking” on the link with an input device such as a computermouse), the browser makes a Transmission Control Protocol/InternetProtocol (ICP/IP) request to the server identified by the URL specifiedin the link, and receives a web page from the identified server. A linkmay also be embedded within a graphical image displayed on the user'scomputer monitor or display. When the geographical area of the image isselected by the user, the browser again makes an TCP/IP request to theserver identified by the specified URL. Thus, a user may navigate (i.e.,“surf”) between various servers to find and retrieve HTML pages ordocuments of interest.

[0006] As use of the Internet has become more pervasive, merchants havelooked to the Internet as providing a new advertising medium for theirproducts and services. Merchants who sponsor their own web sitestypically include advertising material within their site's pages.However, creating and maintaining a stand-alone web site can require asubstantial amount of resources and may be beyond the means of manymerchants. Also, the time and expense required to set up such astand-alone site makes this technique unsuitable for certain seasonal,limited time, or one-shot usage. Further, the audience for thisadvertising material may be limited by the extent to which the merchantcan attract users to visit its own site.

[0007] A technique that has been used to address these problems is thedeployment of advertisements on the web sites of other sponsors orcontent providers who agree to sponsor the advertisements. A simpleadvertisement suitable for such deployment takes the form of a graphicalbanner. Such a banner includes an image related to the product orservice being advertised, typically stored as a graphics file (e.g., a“.gif” file), and displayed according to the HTML description of thesponsoring page. A merchant is often required to pay a sponsor of theparticular web site an advertising fee for the privilege of deployingits banner on the sponsor's site. The banner may also be widelydistributed or deployed on many sites. However, typical advertisingbanners involve only one-way communication, and do not take advantage ofthe Internet's interactive capabilities which could otherwise be used tosolicit data from prospective customers or users for generating purchaseorders or leads.

[0008] To provide demographically-targeted advertising, the advertiseror distributor of the advertising may seek to obtain demographic data onits end users. A common way to acquire demographic data regarding usersvia the Internet is to request the information using a form written inHTML provided to the user utilizing the Internet. Demographicinformation obtained this way is often difficult to obtain because usersare often concerned about privacy issues and often do not wish toprovide specific information over the Internet that identifies them suchas their name, address, or Social Security number.

SUMMARY OF THE INVENTION

[0009] A system, method and computer program product are disclosed forcollecting information about a user. A set of one or more rules forcollecting information is obtained by a first application on a client.The first application is utilized to monitor a second application on theclient in communication with the network for information that satisfiesone or more rules of the set of rules. The second application isutilized by a user to access sites coupled to the network. Informationthat that satisfies one or more rules of the set of rules is collectedfrom the second application utilizing the first application. At least aportion of the collected information is stored on the client utilizingthe first application. Content is received via the network forpresentment by the first application based on the portion of thecollected information stored on the client.

[0010] In one embodiment, the collected information may includebehavioral information about the user. In another embodiment, the set ofone or more rules may be updated based on the collected information. Ina further embodiment, at least one of the rules may include a triggercan be tripped by the collected information so that a notification maybe transmitted to a location via the network. In an additionalembodiment, the set of one or more rules may be obtained utilizing thenetwork.

[0011] In yet another embodiment, the content may includes one or moreadditional rules for controlling the presentment of the content. In evenanother embodiment, at least a portion of the collected information maybe transmitted to a location utilizing the network. As an option in suchan embodiment, the information transmitted to the location may includean identifier so that at least a portion of the content received by theclient is based on the transmitted identifier.

DESCRIPTION OF THE DRAWINGS

[0012]FIG. 1 is a schematic diagram of a computer network framework fora network messaging system in accordance with an embodiment of thepresent invention;

[0013]FIG. 2 is a schematic diagram of an illustrative network messagesystem in accordance with an embodiment of the present invention;

[0014]FIG. 3 is a schematic representation of an illustrative displaypresented on a visual display in accordance with an embodiment of thepresent invention;

[0015]FIG. 4 is a schematic diagram of an illustrative hash table inaccordance with an embodiment of the present invention;

[0016]FIG. 5 is a flowchart of a process for presenting information to auser in accordance with an embodiment of the present invention;

[0017]FIG. 6 is a flowchart of a process for collecting informationabout a user in accordance with an embodiment of the present invention;and

[0018]FIG. 7 is a schematic diagram of a representative hardwareenvironment in accordance with an embodiment of the present invention.

DETAILED DESCRIPTION

[0019] Because first generation ad networks have a centralizedarchitecture, content (e.g., advertisements) is typically distributedfrom central servers to a user's browser every time an ad is displayed.Thus, the same ad is distributed from the server several (even millionsor billions) of times. The network message system of the presentinvention allows for more efficiency than such prior art systems. Thearchitecture of the network message system of the present invention mayalso allow for more flexibility than is possible with server-only adservers including:

[0020]FIG. 1 is a schematic diagram of a computer network framework 100for a network messaging system in accordance with an embodiment of thepresent invention. A network 102, such as for example, a client-servernetwork, a wide area network (e.g., the Internet), couples together oneor more client computers 104, one or more web sites 106, one or moremessage server computers 108.

[0021] Client computer 104 may be any type of computer that provides anend-user access to a network. In one embodiment, client computer 104 maybe a personal computer running on operating system such as for example,the Microsoft Windows™, Apple Macintosh™, Linux, or UNIX operatingsystems. Client computer 104 may also include a web browser 110 such asthe Microsoft Internet Explorer™ or Netscape Navigator™. An end-userutilizing client computer 104 employs web browser 110 for accessinginformation and web pages stored on various web sites (e.g., web site106) coupled to the network 102. Client computer 104 may also include amessage client system 112 for receiving, processing, and displayingvarious messages received via the network.

[0022] Web site 106 may include one or more web pages 114 and a webserver 116. As can be appreciated, such a web site and other servercomputers in the present disclosure, may be implemented using anyappropriately configured computer including, for example servercomputers available from Sun Microsystems™, the Hewlett-PackardCompany™, or International Business Machines™. Web pages 114 may includeany information accessible via the network. In one embodiment, web pages114 may be of the type generally available over the Internet forbrowsing. For example, a web page of the present invention may includean HTML (HyperText Markup Language) file containing news, maps, coupons,offer for services, directories, for sale merchandize, and other typesof information that will attract end-users to the web site 106. The webserver 116 may include program code that allows the website to be incommunication with the network 102.

[0023] The message server computer 108 may be any type of computercapable of sending one or more messages 118 that contain information forpresentation/display by the client computer 104. A message may containany type of information including, for example, advertising information.Message server computer 108 may also include a message server system 120which is in communication with the network 102.

[0024]FIG. 2 is a schematic diagram of an illustrative network messagesystem 200 utilizing the computer network framework 100 in accordancewith an embodiment of the present invention. The network message systemmay be utilized for retrieving and displaying messages to users based ona user's current context and past behavior. It should be understood thatin the present description, the various sub-components of each of thecomponents may also be considered components of the framework. Forexample, particular software modules executed on any component of thesystem may also be considered components of the system. Installed andrunning on a client computer 104 coupled to a network 102 (e.g., theInternet) is a message client application 112. The message clientapplication 112 may comprise a plurality of components including aretriever 208, a displayer 210, a form and login helper 212.

[0025] As the user accesses sites coupled to the network 102 (commonlyknown as “surfing the Internet”) utilizing a browser application 110(e.g., an Internet browser such as Microsoft Internet Explorer)installed and running on the client 104, from one site or domain (e.g.,www.yahoo.com) to another (e.g., www.amazon.com), the retriever 208sends a request 216 to a message system server 108 via the network 102.The request 216 may contain at least two pieces of information: a uniquecustomer ID of the user (i.e., a user ID) 220 and a current domain beingentered by the user (e.g., www.yahoo.com) 222. The request may alsofurther contain a machine ID and a current list of messages for the samemachine ID. In such an embodiment, the server may then only return newor modified messages back to the client to help save on the use ofnetwork bandwidth.

[0026] The message system server 108 receives the request 216 from theretriever 208 and performs a check to determine if there are anymessages pending for the specified domain 212. If it is determined thatthere are messages associated with the specified domain, then themessage server 108 queries an historical-based targeting database 224 todetermined if there are any specific messages pending for this domain222 for this specific user 220. If there are, then the specificmessage(s) 226 is returned to the retriever 208 on the user's clientmachine 104. In one embodiment, this process may be enhanced by theserver first returning a list of specific messages and then have theretriever request each individual message from the server.

[0027] It should be noted that in one embodiment, that the message(s)226 may include two components: a block of in-context rules 228 and thecontent 230 that makes up the portion of the message presented to theuser. The in-context rules 228 may dictate the circumstances in whichthe message content 230 is displayed to the user. Some illustrativeexamples of some in-context rules include: (1) domains at which theretrieved messages should be presented to the user; (2) specific webpages at which the retrieved messages should be presented to the user;(3) URL substrings that, should they be found in the current URL, willcause the message to be presented; (4) time and date information; and(5) display information (such as, e.g., maximum displays, delay betweendisplays, and days and time of day when to display the message).

[0028] Also, the rules 226 may include/reference almost any kind ofrelevant information, such as, for example, specific known attributesabout the user like frequent flyer affiliation, club memberships, typeof credit card used, hobbies and interests, basic demographicinformation (gender, age, income, etc.). The content 230 may alsoinclude standard HTML, including text, images, figures, colors, etc.,sound files that will automatically play upon display of the message,and other types of multi-media files/content.

[0029] Upon receiving the message 226 from the message system server108, the retriever 208 may store the message in a local cache 232 forsubsequent presentation. As the user continues to surf from page topage, a context watcher 234 may examine the user's context (e.g., URL,date/time, etc.) and look for messages stored in the local cache 232with in-context rules that match. Upon a match being found, the matchingmessage may be presented displayed by either the displayer 210 or theform and login helper 212.

[0030] In one embodiment, the message cache 232 may buffer messagesreceived from message system server. This allows the client computer tohave several messages at any given time. For example, the message cachemay contain a message relating to a current web site or web page theuser is visiting and additional messages relating to similar web sitesor web pages. As an illustration, the message cache may contain amessage relating to books when the end-user is browsing the catalog ofan on-line bookstore, and additional messages relating to movies thatmay also be available from that on-line bookstore. This way, a messagerelating to movies can be routed to the appropriate presentation formatmodule as soon as the user navigates to a movies-related web page.

[0031] In one embodiment, the displayer 210 may open an independentwindow on a visual display coupled to the user (i.e., the user's screen)that presents/displays the message content 230. As another option, themessage content 230 may be presented in a small window that is appendedto the form and login helper 212. The specific vehicle to use may beidentified as an attribute 236 embedded in the message 226 and selectedduring creation of the message.

[0032] In one embodiment, the displayer may open a slider window thatslides up from the bottom right of the screen. The slider windowdisplays for a configurable amount of time and then shrinks to a smallbar. The small bar may contain a small description of a coupon. When theuser moves a mouse pointer over the small bar, the original sliderwindow may then be displayed again. The small bar may include a closebox so the user can selective chose to close the slider window. As afurther option, if the small bar is displayed and the user leaves thedomain or another coupon can be displayed, the bar is closed.

[0033] As an option, the message 226 may include one or more expirationdates 238 that may be used to ensure that a message is not presentedafter the appropriate time/date. This date 238 may also be monitored bythe cache 232 and used to remove expired messages from the clientmachine. As a further option, the message may also include priorityinformation 240 that may be used when determined the priority of themessage over other messages that are to be presented to the user. As yetanother option, the message may also include display information (suchas, e.g., maximum displays, delay between displays, and days and time ofday when to display the message).

[0034] In another embodiment, messages 226 may be available on themessage system server 108 that are to be presented to any user thatsatisfies the appropriate context rule 226. Such messages may then bedelivered to the client machine 104 by the retriever 208 withoutrequiring matching historical-based profile in the targeting database224. In one embodiment, the client computer and/or the server mayinclude a data store 242 of user preferences, profile and historicalinformation about the user for use in determining whether a rule hasbeen satisfied.

[0035] In an embodiment of the present invention, the network messagesystem may be utilized to deliver various messages/content such as, forexample, banner sized and placed Internet advertising technology. Thefollowing portions of the specification discuss various components thatmay be utilized in the network message system in accordance withembodiments of the present invention.

[0036] As previously mentioned, a message for the network message systemmay include two parts or portions: (1) a rules file and (2)content/media for presentation. The rules file may contain theinformation utilized by the client to determine when and where todisplay the associated content/media. Some illustrative rule fileattributes may include: the type of message; a list of the media andsizes for the particular message; timing information (beginning andending dates, frequency information, etc.); triggers that indicate wherethe campaign should be started; and triggers that indicate where thecontent should be displayed.

[0037] The content/media for presentation may comprise Hypertext MarkupLanguage (HTML), image, and/or other types of multi-media files. In oneembodiment, the content may also include one or more industry-standardimage files representing a display size currently used for banners.However, it should be understood that the content need not be limited tostandard image files and may include various types of rich media (Flash,video, audio, etc.).

[0038] A message campaign, or flight of messages, may be activated on aclient based on the tripping of one of the specified triggers. In otherwords, the messages may not be presented until one of the specifiedtriggers is hit. In one embodiment, a set of triggers may be defined asa set of Uniform Resource Locators (URL's). The set of URL's may also becombined with search strings. In particular, URL masks may be used forworking with search engine queries. For example, there is a standardsearch URL template for use with the Yahoo search engine. A user mayinsert a key word of interest (like “Laser” or “Sony” or “DVD”) intothis template to define a trigger.

[0039] A trigger is tripped when the user navigates to a page that mapsto one of the trigger rules. As an option, no trigger may need to betripped in an embodiment of the present invention where historicaltargeting and/or modeling is utilized to present messages and content toa user(i.e., historical targeting and/or modeling may or may not utilizetriggers). In general, a trigger is a condition that, when satisfied,instructs us to take an action (such as, for example, show a message tothe user). One type of trigger may be a URL. When the URL of interest isobserved, the specified action is taken. When a trigger is tripped, thecontent for a first message specified in the rule file is retrieved froma message server (as an option, the content can be requested at displaytime) and the message campaign is activated. One way to look at thisactivation trigger list is to view it as a mechanism for doing “realtime targeting.” In other words, users may be selected and targeted formessage campaigns based on specific behaviors, without necessarilyhaving had the corresponding behavioral information sent to the messageserver for processing. This allows fast response to observed behaviorsof the user. This approach also may be useful for tightening privacypolicy so that detailed behavioral information (including navigationinformation) does not have to be transmitted via a network to themessage server. Once the media to be presented has been retrieved, theclient may begin to determine when to present the message.

[0040] In one embodiment, a client may present a message when at leastone of the following criteria has been met: (1) when the messagecampaign has been activated (as described above); (2) when the clientdetects an HTML image, Flash, form or other web control (which may alsobe referred to as the original image/form) request for an image with asize matching that of the message client system; (3) the server's domainname from which the original image is being requested is not included inan exclude list of the message server system; (4) the domain of thecurrent web page is included either in a specified global domaininclusion list or on a private domain inclusion list of the message;and/or (5) the domain of the current web page is not on a private domainexclusion list of the message. The message can also match on the URL ofthe page, with substrings (as mentioned earlier), or can be excludebased on URL matching on the image URL (where the image is actuallyserved from and which can be different than the web page URL).

[0041]FIG. 3 is a schematic representation of an illustrative display300 presented on a visual display by the displayer 210 on a user'sclient computer 104. In one embodiment, the client may present themessage in an overlapping window (or frame) such as, for example, apop-up window 300, that is created by the client for that purpose. In apreferred embodiment, this frame is displayed by an application (i.e.,the message client system) running on the client separate from a browserapplication 302 (e.g., Microsoft's Internet Explorer) running on theclient. In an embodiment of the present invention, the message windowmay included one or more of the following attributes: (1) the messagewindow may be re-positionable by the user (e.g., the user may be able tomove the message window around within a client area of the browser bydrag and drop techniques); (2) the message window may have a close boxor button 304 (e.g., such as the type positioned in the upper right handcorner of a Microsoft Windows application window) for selectably closingthe message window which may be positioned in the upper right corner;(3) the message window may also include access controls for presentinginformation about the message, message client system, and/or relateduser preferences to the user (e.g., such as the “?” button displayed ina Microsoft Windows application window); (4) branding information; (5)tracking the position of the message window relative to the origin ofthe client area of the browser window so that the message window canmaintain its relative position as the user scrolls, resizes or moves thebrowser window; (6) a save control feature 306 that allows a user tosave a presented message for future reference; and/or (7) features forforwarding the message via the network and printing image portion(s) ofthe message.

[0042] As an option, one or more preferences may be available to theuser for customizing the behavior of messages presented on theirparticular client. As an illustrative example, the user may be permittedto set preferences related to the position at which the message windowis displayed and the delay (if any) between the completion of theloading of the web page and the display of the message. As a furtheroption, the delay time may also be used to rotate the user throughmultiple message per page displayed on the browser application if theuser spends sufficient or long enough time at those pages displayed onthe browser application.

[0043] For illustrative purposes, the following examples are providedmerely to illustrate an illustrative positioning preference feature suchthe type as described above: the message window position can beconfigured by the user to be displayed at an upper right corner of thebrowser window or directly over the browser window or at a center regionof the visual display of the client computer. For illustrative purposes,the following examples are provided merely to illustrate such apositioning preference features as described above: For illustrativepurposes, the following examples are provided merely to illustrate anillustrative presentation delay preference feature such the type asdescribed above: display of the message in the message windowimmediately after a web page has been completed loaded by the browserapplication, 1.5 seconds after the web page has been completely loadedby the browser application, and/or a user specified number of secondsafter the web page has been loaded.

[0044] As new messaging campaigns are entered into the network messagesystem, they are queued up for publishing. The message campaigns in thequeue are then processed as follows. First, the domains of the URLtriggers in each message are extracted and a domain list is compiledfrom the extracted domains. Next, the resulting domain list is used toupdate a client hash table. This trigger information is then sent to themessage system server and used by the message system server to respondto client requests for messages. The triggers and rules may be generatedat this point and stored in the message file. The server reads the samemessage file that the client downloads. The server then decides whichmessage the client gets based on information in the message file. Therule file information is then extracted and sent to the message serversystem and message content is retrieved from the message system server.This process is repeated until the publishing queue is cleared ofpending message/message campaigns.

[0045] Published campaigns are distributed to client machines via themessage system server. The message system server may also distribute thefollowing information throughout the network message system: (1) clienthash table; (2) rule file lists; (3) rule files; and message relatedcontent. In one embodiment, the hash table may be updated each time thepublishing process is performed (e.g., if no new message/ domaincombinations are added and none are taken away then the hash table canremain unchanged). This file may contain exclusion lists that the clientuses to override display on sites. Each rule contains an AIC (a tag ofwhich partner the client was downloaded from) and advertiser, a domainname and a list of message types to exclude.

[0046] A list of rule files are transmitted via the network to theclient by the server in response to a request by the client. Clientrequests may be made by the client machine's user as the user navigatesinto various domains via the browser application. As part of therequest, the server may be provided information such as, for example,the user's current domain and a list of rule files (for the currentdomain) already residing on the client machine.

[0047] Next, the server then finds messages that can be used at thecurrent domain. The GRF file names for each message are added to the GRFfile list. Each list entry also contains an action code that indicatesan action the client should take for that entry. These actions mayinclude, for example: (1) Add—add the specified message to the client'slocal cache; (2) Delete—remove the specified message from the client'slocal cache; and (3) Update—update the specified message in the client'scache. Rule files and message related content typically may be deliveredto the client using standard web-serving technology.

[0048]FIG. 4 is a schematic diagram of an illustrative hash table 400 inaccordance with an embodiment of the present invention. A clientinitiates requests for messages as the user enters Internet domainsutilizing an Internet browser running on the client. In one embodiment,minimization of unproductive server requests may be accomplished throughthe use of the client hash table 400. In such an embodiment, the hashtable may provide the information needed for the client to determinewhether or not messages are available 402 for use at a given domain 404.In other words, the client may first look up a domain in the hash tablebefore transmitting a request to the server via the network. In oneembodiment, server requests may be made for those domains that have anentry in the hash table. Also, each client may also periodically check(i.e., transmit a server request) for an updated version of the hashtable.

[0049] Once the client has established that there are messages availablefor the current domain, the client may then make a request to the serverfor the available message units. Information included in this requestmay includes: (1) a machine ID identifying the client machine; (2) auser ID identifying the user; (3) the local time; (4) a domain for whichthe messages are being requested; and (5) a list of the locally cachedmessages previously retrieved for this domain—each entry in this listmay also include the message ID and version number.

[0050] In response to the server request, the client receives a list ofrule files to retrieve from the rule file store of the message serversystem. The client may then retrieve each of those files in the list.

[0051] Once a rule file has been retrieved from the server, the clientmay then make a request to retrieve the content for the first image inthe content list (or when triggered or when displayed). As an option,when retrieving large content files such as, for example, certain typesof rich media, the content may be transmitted to the client via atrickling process that consumes relatively little ongoing bandwidth.

[0052] As the user navigates to each web page utilizing an Internetbrowser, the client may take the current URL and look for triggermatches in the list of locally cached rule files. When a match is found,the client may then present the previously fetched content. In oneembodiment, if more than one match is found, then the message with thehighest priority may be chosen. After presenting the message content,the client may check to see if there are other content/images associatedwith the current message's rule file. If so, the next image in the listmay then be retrieved and cached locally. This content/image may then bepresented when the next qualifying trigger situation is observed.

[0053]FIG. 5 is a flowchart of a process 500 for presenting informationto a user in accordance with an embodiment of the present invention. Ata client, information about a user is collected in operation 502. Via anetwork, the collected information is transmitted from the client to alocation (e.g., a server) in operation 504 so that a user profile forthe user can be generated based on the collected information. Based onthe generated user profile, content is selected for the user. At theclient, the content is received via the network where the content issubsequently presented to the user (see operations 506 and 508).

[0054] In one embodiment, the information about the user may includeinformation relating to network utilization behaviors and attributes ofthe user. In another embodiment, the user profile may include computermodel-generated information associated with the user based oninformation collected from the user and/or similar other users. In afurther embodiment, the content may include one or more rules forcontrolling the presentment of the content to the user at the client.For example, the rules may provide instructions to the client as to whento present the content and the order and/or priority by which thecontent should be presented to the user.

[0055] In an additional embodiment, the information transmitted to thelocation may include an identifier identifying, for example, the user(e.g., a user ID) and/or the client machine (e.g., a machine ID) so thatat least a portion of the content is selected based on the identifier.In yet another embodiment, a fee may be generated when the content isselected with the fee being charged to a party associated with theselected content. As an option in such an embodiment, the fee chargedfor the selected content based on the user profile may be priced greaterthan the fee charged for content that is not selected based on the userprofile. In even another embodiment, the user may access sites coupledto the network utilizing a first application hosted by the client (suchas, for example, an Internet browser) with visual information providedby those sites being presented in a first display frame/window. In suchan embodiment, the content may be presented utilizing a secondapplication hosted by the client (such as, for example, a contentmessage unit) with visual portions of the content being present ed in asecond display frame.

[0056] While most message may be made available to the entire audience(i.e., users) utilizing the network message system, as a further option,individual users may be targeted to receive messages based on theirparticular historical profile. Historical-based targeting may be used toselect users based on behaviors and/or attributes such as, for example:(1) navigation behavior such as, for example, domains visited, number ofpages viewed, time spent at sites, and the viewing of any previouslytagged page; (2) ZIP code information; (3) click-through frequency onpreviously viewed messages; (4) affiliate identification code or typeco-branding; (5) number of weeks for the user has been active utilizingthe network message system; and (6) modeled behavior based oninformation collected regarding what other similar users have behavedonline. With regard to previously tagged pages, triggers may be set forpages that a party may want to track without the user seeing anyactivity. For example, suppose a party wants to know how many peoplepurchase items at a particular Internet store (e.g., Amazon.com). Ablind trigger may be set to observe navigations to the receipt page. Areporting system of the network message system could then tally up thenumber of times over a period of time for which the blind trigger is setwhile the user would not encounter any feedback that this tallying isoccurring. As with other messages, targeted messages may be madeavailable to the client machines in response to client message requests.In such a situation, the message server may take the machine and/or userID provided as part of the client request and then perform a queryinside the network message system to determine if there are any messagespending for that particular user (or that match that user's particularprofile).

[0057]FIG. 6 is a flowchart of a process 600 for collecting informationabout a user in accordance with an embodiment of the present invention.In operation 602, a set of one or more rules for collecting informationis obtained by a first application (e.g., a message client system) on aclient. The first application is utilized in operation 604 to monitor asecond application on the client in communication with the network forinformation that satisfies one or more rules of the set of rules. Thesecond application is utilized by a user to access sites coupled to thenetwork (e.g., an Internet browser). In use, the second application mayreceive and transmit information/communications between the user and thesites and/or the network.

[0058] Information that that satisfies one or more rules of the set ofrules is collected from the second application utilizing the firstapplication in operation 606. At least a portion of the collectedinformation is stored on the client utilizing the first application inoperation 608. Content is received at the client via the network forpresentment to the user by the first application based on the portion ofthe collected information stored on the client in operation 610.

[0059] In one embodiment, the collected information may includebehavioral information about the user such as, for example, networkutilization behaviors and attributes of the user. In another embodiment,the set of one or more rules may be updated based on the collectedinformation. In a further embodiment, at least one of the rules mayinclude a trigger can be tripped by the collected information so that anotification may be transmitted to a location via the network.

[0060] In an additional embodiment, the set of one or more rules may beobtained utilizing the network. In yet another embodiment, the contentmay includes one or more additional rules for controlling thepresentment of the content. In even another embodiment, at least aportion of the collected information may be transmitted to a location(e.g., a server) utilizing the network. As an option in such anembodiment, the information transmitted to the location may include anidentifier so that at least a portion of the content received by theclient is based on the transmitted identifier. In another embodiment,the rules may be executed by a server computer based on profiles storedserver-side or by the user's client computer based on profiles storedclient-side.

[0061] Profile information about the user's behavior across nearly allweb pages displayed by web sites may be collected without requiring anyuser involvement. While an Internet service provider (ISP) can elect tokeep track of some or all of the web pages a user visits, the ISP cannotaccess or “see” the content of any web pages that are transmitted to theuser's browser in a “secure” mode (e.g. when the web site elects to useencryption such as SSL or the like so that the web page's contents areencrypted during transmission). Because portions of the embodiments ofthe present invention are executed on the user's computer, the networkmessage system may interface to the user's Internet browser in such away that it can see all of the web pages.

[0062] Profiles, to the extent that prior art systems utilize profiles,are typically stored on the server only. In contrast, embodiments of thepresent invention permit storing of a portion of the profile informationabout the user on the client side. Such a feature may be useful inhelping to meet information privacy rules and standards while stillbeing able to target information to users based on private information.For example, suppose a provider of content wanted to do some targetingfor a credit card firm based upon what kind of credit card auser/consumer has. Storing that credit card number on the message servermay violate a privacy policy of the provider. But this information couldstill be used to deliver targeted offers by just causing the rulesassociated with that particular content campaign to be executed on theuser's computer rather than on the message system server. Anotherbenefit of storing at least a portion of a consumer's profile on theclient side may be to improve performance of the targeting by reducingtime-consuming and bandwidth consuming traffic between the client andserver.

[0063] Embodiments of the present invention may be capable of deliveringrich media advertising by trickling technology to pre-fetch the media,downloading it to the desktop prior to its display in a way that doesn'tappreciably slow down the user's web browsing. This allows the consumerto see rich media comprised of larger files without waiting for them todownload as part of a web page. Unlike the prior art, embodiments of thepresent invention may intelligently figure out which media to pre-fetchusing a passive profiling technique without requiring any userinvolvement to state his preferences. In contrast, most prior art “push”applications require users to actively “subscribe” to different contentchannels, or otherwise state their preferences.

[0064] The intelligence or rules about what advertising messages todisplay to what user, and when to display it, may also be distributedutilizing the network message system of the present invention. One majorchallenge that embodiments of the network message system overcome is thefollowing dilemma: in order to get the best performance for behavioraltargeting, (i.e., to be able to quickly make decisions), it may bedesirable to evaluate the rules on the client side. But this requiresthat the database of rules be stored on the client. As the number ofadvertising campaigns grows, the aggregate rule set can become quitelarge. This aggregate rule set may potentially be too large to store onthe client side (for example, it would consume too much storage space ofthe client) while keeping it up-to-date may require a lot of trafficbetween the client and server, potentially slowing down the user'sbrowsing experience and consuming a lot of costly network bandwidth. Inembodiments of the present invention, a hash table may be utilized toallow “just in time” downloading of a subset of the rules: just thoserules for the sites that the user actually visits. This small hash tablemay allow one to predict whether or not it may be appropriate to displayan advertisement as a result of a user's activity at a given web sitewithout having to download the entire rules database to the client. Itshould be noted that not only can the advertising media itself bedownloaded on a just-in-time basis, but that the rules themselves mayalso be downloaded on a just in time basis in a way that'scustom-tailored for each user based upon the web sites he visits.

[0065] Embodiments of the present invention may also synchronize thepresentation/display of messages with the display of information on aweb page.

[0066] Passive profiling capabilities of the present invention may beutilized to determine which of a set of new software applications arepotentially of interest to a user of the network message system. When itis determined that a particular application may be of interest to auser, a copy of the software may be pre-fetched and then offered to theuser.

[0067]FIG. 7 is a schematic representation of an illustrative hardwareconfiguration of a representative computer 700 that may be utilized forcarrying out embodiments of the present invention. Computer 700 (suchas, for example, an IBM compatible personal computer, Apple Macintoshcomputer or UNIX based workstation) has a central processing unit 702,such as a microprocessor, and a number of other units interconnected viaa system bus 704. The computer 700 also includes a Random Access Memory(RAM) 706, Read Only Memory (ROM) 708, an I/O adapter 710 for connectingperipheral devices such as, for example, disk storage units 712 andprinters 714 to the bus 704, a user interface adapter 716 for connectingvarious user interface devices such as, for example, a keyboard 718, amouse 720, a speaker 722, a microphone 724, and/or other user interfacedevices such as a touch screen or a digital camera to the bus 704, acommunication adapter 726 for connecting the computer 700 to acommunication network 728 (e.g., a data processing network) and adisplay adapter 730 for connecting the bus 704 to a display device 732.

[0068] The computer 700 typically has resident thereon an operatingsystem such as Microsoft Windows Operating System (OS), the IBM OS/2operating system, the MAC OS, or UNIX operating system. Those skilled inthe art will appreciate that embodiments present invention may also beimplemented on platforms and operating systems other than thosementioned. An embodiment of the present invention may be written usingtraditional methodologies and programming languages, such as C, Pascal,BASIC or Fortran, or may be written using object oriented methodologiesand object-oriented programming languages, such as Java, C++, C#, Pythonor Smalltalk. Sun's Java language has emerged as an industry-recognizedlanguage for “programming the Internet.” Sun defines Java as: “a simple,object-oriented, distributed, interpreted, robust, secure,architecture-neutral, portable, high-performance, multithreaded,dynamic, buzzword-compliant, general-purpose programming language. Javasupports programming for the Internet in the form ofplatform-independent Java applets.” Java applets are small, specializedapplications that comply with Sun's Java Application ProgrammingInterface (API) allowing developers to add “interactive content” to Webdocuments (e.g., simple animations, page adornments, basic games, etc.).Applets execute within a Java-compatible browser (e.g., NetscapeNavigator) by copying code from the server to client. From a languagestandpoint, Java's core feature set is based on C++. Sun's Javaliterature states that Java is basically, “C++ with extensions fromObjective C for more dynamic method resolution.” Another technology thatprovides similar function to JAVA is provided by Microsoft and ActiveXTechnologies, to give developers and Web designers wherewithal to builddynamic content for the Internet and personal computers. ActiveXincludes tools for developing animation, 3-D virtual reality, video andother multimedia content. The tools use Internet standards, work onmultiple platforms, and are being supported by over 100 companies. Thegroup's building blocks are called ActiveX Controls, small, fastcomponents that enable developers to embed parts of software inhypertext markup language (HTML) pages. ActiveX Controls work with avariety of programming languages including Microsoft Visual C++, BorlandDelphi, Microsoft Visual Basic programming system and, in the future,Microsoft's development tool for Java, code named “Jakarta.” ActiveXTechnologies also includes ActiveX Server Framework, allowing developersto create server applications. One of ordinary skill in the art readilyrecognizes that ActiveX could be substituted for JAVA without undueexperimentation to practice the invention.

[0069] Transmission Control Protocol/Internet Protocol (TCP/IP) is abasic communication language or protocol of the Internet. It can also beused as a communications protocol in the private networks calledintranet and in extranet. When you are set up with direct access to theInternet, your computer is provided with a copy of the TCP/IP programjust as every other computer that you may send messages to or getinformation from also has a copy of TCP/IP. TCP/IP is a two-layeringprogram. The higher layer, Transmission Control Protocol (TCP), managesthe assembling of a message or file into smaller packet that aretransmitted over the Internet and received by a TCP layer thatreassembles the packets into the original message. The lower layer,Internet Protocol (IP), handles the address part of each packet so thatit gets to the right destination. Each gateway computer on the networkchecks this address to see where to forward the message. Even thoughsome packets from the same message are routed differently than others,they'll be reassembled at the destination. TCP/IP uses a client/servermodel of communication in which a computer user (a client) requests andis provided a service (such as sending a Web page) by another computer(a server) in the network. TCP/IP communication is primarilypoint-to-point, meaning each communication is from one point (or hostcomputer) in the network to another point or host computer. TCP/IP andthe higher-level applications that use it are collectively said to be“stateless” because each client request is considered a new requestunrelated to any previous one (unlike ordinary phone conversations thatrequire a dedicated connection for the call duration). Being statelessfrees network paths so that everyone can use them continuously. (Notethat the TCP layer itself is not stateless as far as any one message isconcerned. Its connection remains in place until all packets in amessage have been received.).

[0070] Many Internet users are familiar with the even higher layerapplication protocols that use TCP/IP to get to the Internet. Theseinclude the World Wide Web's Hypertext Transfer Protocol (HTTP), theFile Transfer Protocol (FTP), Telnet which lets you logon to remotecomputers, and the Simple Mail Transfer Protocol (SMTP). These and otherprotocols are often packaged together with TCP/IP as a “suite.” Personalcomputer users usually get to the Internet through the Serial LineInternet Protocol (SLIP) or the Point-to-Point Protocol. These protocolsencapsulate the IP packets so that they can be sent over a dial-up phoneconnection to an access provider's modem. Protocols related to TCP/IPinclude the User Datagram Protocol (UDP), which is used instead of TCPfor special purposes. Other protocols are used by network host computersfor exchanging router information. These include the Internet ControlMessage Protocol (ICMP), the Interior Gateway Protocol (IGP), theExterior Gateway Protocol (EGP), and the Border Gateway Protocol (BGP).Internetwork Packet Exchange (IPX)is a networking protocol from Novellthat interconnects networks that use Novell's NetWare clients andservers. IPX is a datagram or packet protocol. IPX works at the networklayer of communication protocols and is connectionless (that is, itdoesn't require that a connection be maintained during an exchange ofpackets as, for example, a regular voice phone call does).

[0071] Encryption is the conversion of data into a form, called aciphertext, that cannot be easily understood by unauthorized people.Decryption is the process of converting encrypted data back into itsoriginal form, so it can be understood. The use of encryption/decryptionis as old as the art of communication. In wartime, a cipher, oftenincorrectly called a “code,” can be employed to keep the enemy fromobtaining the contents of transmissions (technically, a code is a meansof representing a signal without the intent of keeping it secret;examples are Morse code and ASCII. Simple ciphers include thesubstitution of letters for numbers, the rotation of letters in thealphabet, and the “scrambling” of voice signals by inverting thesideband frequencies. More complex ciphers work according tosophisticated computer algorithm that rearrange the data bits in digitalsignals. In order to easily recover the contents of an encrypted signal,the correct decryption key is required. The key is an algorithm that“undoes” the work of the encryption algorithm. Alternatively, a computercan be used in an attempt to “break” the cipher. The more complex theencryption algorithm, the more difficult it becomes to eavesdrop on thecommunications without access to the key.

[0072] Rivest-Shamir-Adleman (RSA) is an Internet encryption andauthentication system that uses an algorithm developed in 1977 by RonRivest, Adi Shamir, and Leonard Adleman. The RSA algorithm is a commonlyused encryption and authentication algorithm and is included as part ofthe Web browser from Netscape and Microsoft. It's also part of LotusNotes, Intuit's Quicken, and many other products. The encryption systemis owned by RSA Security. The RSA algorithm involves multiplying twolarge prime numbers (a prime number is a number divisible only by thatnumber and 1) and through additional operations deriving a set of twonumbers that constitutes the public key and another set that is theprivate key. Once the keys have been developed, the original primenumbers are no longer important and can be discarded. Both the publicand the private keys are needed for encryption/decryption but only theowner of a private key ever needs to know it. Using the RSA system, theprivate key never needs to be sent across the Internet.

[0073] The private key is used to decrypt text that has been encryptedwith the public key. Thus, if I send you a message, I can find out yourpublic key (but not your private key) from a central administrator andencrypt a message to you using your public key. When you receive it, youdecrypt it with your private key. In addition to encrypting messages(which ensures privacy), you can authenticate yourself to me (so I knowthat it is really you who sent the message) by using your private key toencrypt a digital certificate. When I receive it, I can use your publickey to decrypt it.

[0074] A Uniform Resource Locator (URL) is the address of a file(resource) accessible on the Internet. The type of resource depends onthe Internet application protocol. Using the World Wide Web's protocol,the Hypertext Transfer Protocol, the resource can be an HTML page, animage file, a program such as a common gateway interface application orJava applet, or any other file supported by HTTP. The URL contains thename of the protocol required to access the resource, a domain name thatidentifies a specific computer on the Internet, and a hierarchicaldescription of a file location on the computer.

[0075] On the Web (which uses the Hypertext Transfer Protocol), anexample of a URL is: http://www.mhrcc.org/kingston which describes a Webpage to be accessed with an HTTP (Web browser) application that islocated on a computer named www.mhrcc.org. The specific file is in thedirectory named/kingston and is the default page in that directory(which, on this computer, happens to be named index.html). An HTTP URLcan be for any Web page, not just a home page, or any individual file.

[0076] Based on the foregoing specification, the invention may beimplemented using computer programming or engineering techniquesincluding computer software, firmware, hardware or any combination orsubset thereof. Any such resulting program, having computer-readablecode means, may be embodied or provided within one or morecomputer-readable media, thereby making a computer program product,i.e., an article of manufacture, according to the invention. Thecomputer readable media may be, for instance, a fixed (hard) drive,diskette, optical disk, magnetic tape, semiconductor memory such asread-only memory (ROM), etc., or any transmitting/receiving medium suchas the Internet or other communication network or link. The article ofmanufacture containing the computer code may be made and/or used byexecuting the code directly from one medium, by copying the code fromone medium to another medium, or by transmitting the code over anetwork.

[0077] One skilled in the art of computer science will easily be able tocombine the software created as described with appropriate generalpurpose or special purpose computer hardware to create a computer systemor computer sub-system embodying the method of the invention.

[0078] While various embodiments have been described above, it should beunderstood that they have been presented by way of example only, and notlimitation. Thus, the breadth and scope of a preferred embodiment shouldnot be limited by any of the above described exemplary embodiments, butshould be defined only in accordance with the following claims and theirequivalents.

What is claimed is:
 1. A method for collecting information about a user,comprising: obtaining a set of one or more rules for collectinginformation by a first application on a client; utilizing the firstapplication to monitor a second application on the client incommunication with the network for information that satisfies one ormore rules of the set of rules, wherein the second application isutilized by a user to access sites coupled to the network; collectinginformation that satisfies one or more rules of the set of rules fromthe second application utilizing the first application; storing at leasta portion of the collected information on the client utilizing the firstapplication; and receiving content via the network for presentment bythe first application based on the portion of the collected informationstored on the client.
 2. The method of claim 1, wherein the collectedinformation includes behavioral information about the user.
 3. Themethod of claim 1, wherein the set of one or more rules is updated basedon the collected information.
 4. The method of claim 1, wherein at leastone of the rules includes a trigger, wherein the collected informationtrips the trigger, and wherein a notification is transmitted to alocation via the network.
 5. The method of claim 1, wherein the set ofone or more rules is obtained utilizing the network.
 6. The method ofclaim 1, wherein the content includes one or more additional rules forcontrolling the presentment of the content.
 7. The method of claim 1,wherein at least a portion of the collected information is transmittedto a location utilizing the network.
 8. The method of claim 7, whereinthe information transmitted to the location includes an identifier, andwherein at least a portion of the received content is based on theidentifier.
 9. A system for collecting information about a user,comprising: logic that obtains a set of one or more rules for collectinginformation by a first application on a client; logic that utilizes thefirst application to monitor a second application on the client incommunication with the network for information that satisfies one ormore rules of the set of rules, wherein the second application isutilized by a user to access sites coupled to the network; logic thatcollects information that satisfies one or more rules of the set ofrules from the second application utilizing the first application; logicthat stores at least a portion of the collected information on theclient utilizing the first application; and logic that receives contentvia the network for presentment by the first application based on theportion of the collected information stored on the client.
 10. Thesystem of claim 9, wherein the collected information includes behavioralinformation about the user.
 11. The system of claim 9, wherein the setof one or more rules is updated based on the collected information. 12.The system of claim 9, wherein at least one of the rules includes atrigger, wherein the collected information trips the trigger, andwherein a notification is transmitted to a location via the network. 13.The system of claim 9, wherein the set of one or more rules is obtainedutilizing the network.
 14. The system of claim 9, wherein the contentincludes one or more additional rules for controlling the presentment ofthe content.
 15. The system of claim 9, wherein at least a portion ofthe collected information is transmitted to a location utilizing thenetwork.
 16. The system of claim 15, wherein the information transmittedto the location includes an identifier, and wherein at least a portionof the received content is based on the identifier.
 17. A computerprogram product for collecting information about a user, comprising:computer code that obtains a set of one or more rules for collectinginformation by a first application on a client; computer code thatutilizes the first application to monitor a second application on theclient in communication with the network for information that satisfiesone or more rules of the set of rules, wherein the second application isutilized by a user to access sites coupled to the network; computer codethat collects information that satisfies one or more rules of the set ofrules from the second application utilizing the first application;computer code that stores at least a portion of the collectedinformation on the client utilizing the first application; and computercode that receives content via the network for presentment by the firstapplication based on the portion of the collected information stored onthe client.
 18. The computer program product of claim 17, wherein thecollected information includes behavioral information about the user.19. The computer program product of claim 17, wherein the set of one ormore rules is updated based on the collected information.
 20. Thecomputer program product of claim 17, wherein at least one of the rulesincludes a trigger, wherein the collected information trips the trigger,and wherein a notification is transmitted to a location via the network.21. The computer program product of claim 17, wherein the set of one ormore rules is obtained utilizing the network.
 22. The computer programproduct of claim 17, wherein the content includes one or more additionalrules for controlling the presentment of the content.
 23. The computerprogram product of claim 17, wherein at least a portion of the collectedinformation is transmitted to a location utilizing the network.
 24. Thecomputer program product of claim 23, wherein the informationtransmitted to the location includes an identifier, and wherein at leasta portion of the received content is based on the identifier.
 25. Asystem for collecting information about a user, comprising: means forobtaining a set of one or more rules for collecting information by afirst application on a client; means for utilizing the first applicationto monitor a second application on the client in communication with thenetwork for information that satisfies one or more rules of the set ofrules, wherein the second application is utilized by a user to accesssites coupled to the network; means for collecting information thatsatisfies one or more rules of the set of rules from the secondapplication utilizing the first application; means for storing at leasta portion of the collected information on the client utilizing the firstapplication; and means for receiving content via the network forpresentment by the first application based on the portion of thecollected information stored on the client.
 26. A method for collectinginformation about a user, comprising: obtaining a set of one or morerules for collecting information by a first application on a client;utilizing the first application to monitor a second application on theclient in communication with the network for information that satisfiesone or more rules of the set of rules, wherein the second application isutilized by a user to access sites coupled to the network; collectinginformation that satisfies one or more rules of the set of rules fromthe second application utilizing the first application, wherein thecollected information includes behavioral information about the user,wherein the set of one or more rules is updated based on the collectedinformation; storing at least a portion of the collected information onthe client utilizing the first application; transmitting informationrelating to the collected information to a location utilizing thenetwork, wherein the information transmitted to the location includes anidentifier; receiving content via the network for presentment by thefirst application based on the portion of the collected informationstored on the client, wherein the content includes one or moreadditional rules for controlling the presentment of the content, andwherein at least a portion of the received content is based on theidentifier.
 27. A system for collecting information about a user,comprising: logic that obtains a set of one or more rules for collectinginformation by a first application on a client; logic that utilizes thefirst application to monitor a second application on the client incommunication with the network for information that satisfies one ormore rules of the set of rules, wherein the second application isutilized by a user to access sites coupled to the network; logic thatcollects information that satisfies one or more rules of the set ofrules from the second application utilizing the first application,wherein the collected information includes behavioral information aboutthe user, wherein the set of one or more rules is updated based on thecollected information; logic that stores at least a portion of thecollected information on the client utilizing the first application;logic that transmits information relating to the collected informationto a location utilizing the network, wherein the information transmittedto the location includes an identifier; logic that receives content viathe network for presentment by the first application based on theportion of the collected information stored on the client, wherein thecontent includes one or more additional rules for controlling thepresentment of the content, and wherein at least a portion of thereceived content is based on the identifier.
 28. A computer programproduct for collecting information about a user, comprising: computercode that obtains a set of one or more rules for collecting informationby a first application on a client; computer code that utilizes thefirst application to monitor a second application on the client incommunication with the network for information that satisfies one ormore rules of the set of rules, wherein the second application isutilized by a user to access sites coupled to the network; computer codethat collects information that satisfies one or more rules of the set ofrules from the second application utilizing the first application,wherein the collected information includes behavioral information aboutthe user, wherein the set of one or more rules is updated based on thecollected information; computer code that stores at least a portion ofthe collected information on the client utilizing the first application;computer code that transmits information relating to the collectedinformation to a location utilizing the network, wherein the informationtransmitted to the location includes an identifier; computer code thatreceives content via the network for presentment by the firstapplication based on the portion of the collected information stored onthe client, wherein the content includes one or more additional rulesfor controlling the presentment of the content, and wherein at least aportion of the received content is based on the identifier.
 29. A systemfor collecting information about a user, comprising: means for obtaininga set of one or more rules for collecting information by a firstapplication on a client; means for utilizing the first application tomonitor a second application on the client in communication with thenetwork for information that satisfies one or more rules of the set ofrules, wherein the second application is utilized by a user to accesssites coupled to the network; means for collecting information thatsatisfies one or more rules of the set of rules from the secondapplication utilizing the first application, wherein the collectedinformation includes behavioral information about the user, wherein theset of one or more rules is updated based on the collected information;means for storing at least a portion of the collected information on theclient utilizing the first application; means for transmittinginformation relating to the collected information to a locationutilizing the network, wherein the information transmitted to thelocation includes an identifier; means for receiving content via thenetwork for presentment by the first application based on the portion ofthe collected information stored on the client, wherein the contentincludes one or more additional rules for controlling the presentment ofthe content, and wherein at least a portion of the received content isbased on the identifier.